package com.springcloud.store.modular.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.springcloud.commom.page.PageResult;
import com.springcloud.stock.entity.Product;
import com.springcloud.stock.param.ProductParam;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 商品表service接口
 *
 * @author hzl
 * @date 2024-07-26 10:42:06
 */
public interface ProductService extends IService<Product> {

    /**
     * 查询商品表
     *
     * @author hzl
     * @date 2024-07-26 10:42:06
     */
    PageResult<Product> page(ProductParam productParam);

    /**
     * 商品表列表
     *
     * @author hzl
     * @date 2024-07-26 10:42:06
     */
    List<Product> list(ProductParam productParam);

    /**
     * 添加商品表
     *
     * @author hzl
     * @date 2024-07-26 10:42:06
     */
    @Transactional(rollbackFor = Exception.class)
    void add(ProductParam productParam);

    /**
     * 删除商品表
     *
     * @author hzl
     * @date 2024-07-26 10:42:06
     */
    void delete(ProductParam productParam);

    /**
     * 编辑商品表
     *
     * @author hzl
     * @date 2024-07-26 10:42:06
     */
    void edit(ProductParam productParam);

    /**
     * 查看商品表
     *
     * @author hzl
     * @date 2024-07-26 10:42:06
     */
    Product detail(ProductParam productParam);
}
